package jp.ac.aiit.yc.sww.database.dao;

import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_PAGE;
import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_ROOM;
import static jp.ac.aiit.yc.sww.constant.Constants.HEADER_USER;
import static jp.ac.aiit.yc.sww.util.Util.null2String;
import static jp.ac.aiit.yc.sww.util.Util.parseInt;

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.util.Date;
import java.util.List;
import java.util.Map;

import jp.ac.aiit.yc.sww.Resources.SwwResource;
import jp.ac.aiit.yc.sww.database.dto.DrawDto;
import jp.ac.aiit.yc.sww.database.dto.LoginDto;
import jp.ac.aiit.yc.sww.database.dto.SwwDtoIF;

public class LoginDao extends BaseDAO  implements SwwDaoIF {

	@Override
	public String getInsertSP() {
		return getSP(SwwResource.SP_LOGIN_EVENT);
	}

	@Override
	public String getQuerySP() {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}

	@Override
	public boolean register(SwwDtoIF dto) {
		// TODO 自動生成されたメソッド・スタブ
		return false;
	}

	@Override
	public CallableStatement setInsertParam(CallableStatement cstmt, SwwDtoIF dtoIF) throws Exception {
		LoginDto dto =  (LoginDto)dtoIF;
		Map headers = getHeaders();

		// TODO データのチェックが必要
		System.out.println((new Date()).toString() + " headers.get(HEADER_USER)=" + null2String(headers.get(HEADER_USER)));
		System.out.println((new Date()).toString() + " headers.get(HEADER_ROOM)=" + null2String(headers.get(HEADER_ROOM)));

		cstmt.setString(1, null2String(headers.get(HEADER_USER)));
		cstmt.setString(2, null2String(headers.get(HEADER_ROOM)));

		System.out.println((new Date()).toString() + " return cstmt");
		return cstmt;		//CREATE PROCEDURE sp_login_event (var_user_id VARCHAR(10), IN var_meeting_room_id VARCHAR(10))

	}

	@Override
	public Map<String, String> getHeaders() {
		return super.getHeaders();
	}

	@Override
	public void setHeaders(Map<String, String> headers) {
		super.setHeaders(headers);

	}

	@Override
	public CallableStatement setQueryParam(CallableStatement cstmt, SwwDtoIF dto)
			throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}

	@Override
	public SwwDtoIF createDto(ResultSet rs) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}
}
